package Request;

import Database.DBServicio;
import Response.Respuesta;

/**
 *
 * @author Freddy Feria
 */
public class PeticionLogin implements Peticion {

    private Long id;
    private Autenticador autenticador;
    private DBServicio baseDatos;
    private Respuesta respuesta;
    private String usuario;
    private String contrasena;

    public PeticionLogin() {
        autenticador = new Autenticador();
        baseDatos = new DBServicio();
    }

    @Override
    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public void setParametros(Object... parametros) {
        if (parametros.length == 2) {
            usuario = (String) parametros[0];
            contrasena = (String) parametros[1];
        }
    }

    @Override
    public Respuesta ejecutar() {
        if (baseDatos.estaRegistrado(usuario, contrasena)) {
            Long codigoId = autenticador.registrarNuevo();
            respuesta = new Respuesta(id, "login");
            respuesta.addParametros(codigoId);
        } else {
            respuesta = new Respuesta(id, "login");
            respuesta.addParametros(null);
        }
        return respuesta;
    }
}
